// 二次封装axios
import axios from 'axios'

// 创建axios实例
const requests = axios.create({
  // 默认路径
  baseURL:'/api',
  timeout: 5000 // 请求超时时间
})

// 导入shopcart的state
import store from '@/store'

// 请求拦截器
requests.interceptors.request.use(config =>{
  // 在发送请求之前做一些处理
  // config里面有请求头信息
  // console.log('uuid',shopcart.state);
  // 配置请求头信息
  if(store.state.detail.uuid){
    config.headers.userTempId = store.state.detail.uuid
  }
  if(store.state.user.token){
    config.headers.token=store.state.user.token
  }
  return config
})

// 响应拦截器
requests.interceptors.response.use(res=>{
  // 对响应数据做一些处理
  return res.data
},err=>{
  // Promise.reject终止promise链
  return Promise.reject(new Error('请求错误'))
})

// 对外暴露请求方法
export default requests